package pers.elonnsu.springbootmall.service;

import pers.elonnsu.springbootmall.exception.MallException;
import pers.elonnsu.springbootmall.model.pojo.User;

public interface UserService {
    /**
     * 测试方法：根据id获取用户
     *
     * @param id 用户编号
     * @return 用户对象
     */
    public User getUserById(Integer id);

    /**
     * 用户注册
     *
     * @param userName 用户名
     * @param password 密码
     */
    public void register(String userName, String password) throws MallException;

    /**
     * 用户登录
     *
     * @param userName 用户名
     * @param password 密码
     * @return 登录成功的用户对象
     */
    public User login(String userName, String password) throws MallException;

    /**
     * 更新用户
     *
     * @param user 需更新的用户对象
     */
    void updateUser(User user) throws MallException;

    /**
     * 检查用户是否为管理员身份
     *
     * @param user 用户对象
     * @return true: 是管理员
     */
    boolean isAdminRole(User user);
}
